#include <iostream>
#include <cstring>

using namespace std;

union FtoD {
    double x;
    unsigned long long a;
};

int main() {
    double x;
    int t[2] = {0x7f, 0xef};
    for (int b: t) {
        memset(&x, b, sizeof x);
        cout << x << endl;
        FtoD num{};
        num.x = x;
        for (int i = 63; i >= 0; --i) {
            if ((i + 1) % 8 == 0) cout << " ";
            cout << ((num.a >> i) & 1);
        }
        cout << endl << b << endl;
        for (int i = 15; i >= 0; --i) {
            if ((i + 1) % 8 == 0) cout << " ";
            cout << ((b >> i) & 1);
        }
        cout << endl << endl;
    }
    return 0;
}